# 线程的创建流程
# ① 导⼊线程模块
# ② 通过线程类创建线程对象
# 线程对象 = threading.Thread(target=任务名)
# ③ 启动线程执⾏任务
# 线程对象.start()
# ④ 结束线程
# 线程对象.json ()
import threading
import time


def music(n1, music_name):
    for i in range(n1):
        print("music:", threading.current_thread().name)
        print(f'听{music_name}⾳乐...')
        time.sleep(0.2)


def coding(n2):
    for i in range(n2):
        print("coding:", threading.current_thread().name)
        print('敲代码...')
        time.sleep(0.2)


if __name__ == '__main__':
    # 单线程执行
    # music()
    # coding()
    # 多线程执行
    print('主线程开始执行...')
    t1 = threading.Thread(target=music, kwargs={'n1': 3, 'music_name': '《夜空中最亮的星》'})
    t2 = threading.Thread(target=coding, args=(5,))
    t1.start()  # 启动线程
    t2.start()
    t1.join()  # 等待线程结束
    t2.join()
    print('主线结束...')
